1. Field of the Invention
The present invention relates to a method and apparatus for printing an image in accordance with a graphics language stream in which graphic descriptions for frames in a page are separated from document layout information which describes how the frames are placed on the page, and in which the graphic descriptions and the document layout information are output on separate, pipelined, interfaces. A graphics language processor is provided to intercept the graphics language stream. The processor separates the graphics language stream into mask information and background information against which the masks are applied, operates independently on the mask and background information to create frame rasters, and uses the document layout information to map the frame rasters onto the page.
2. Description of the Related Art
Recently, high quality raster-based devices, such as laser beam printers and ink jet or bubble jet printers and the like, have become widely available. These devices receive image data from a host computer and generate a raster image in bit map memory for subsequent imaging and/or printing.
FIG. 1 shows the rasterization process by which each pixel in bit map memory is formed, and by which qualities (such as color, grey level or half toning) are given to each pixel. As shown in FIG. 1, the bit map raster 100 is divided into frames F which define areas in the bit map raster. For each pixel 101 in the frame, a mask M and a background B are defined. The mask M defines whether or not the pixel should be rendered into bit map memory and the location where the pixel should be rendered. The background B defines the qualities with which the pixel 101 should be rendered. For example the background B may comprise a color associated with the pixel or it may comprise a halftone density. If desired, a clipping region may also be defined to specify the effective areas of the mask and allow more precise control over the masks. The rasterization of pixel 101 in the bit map memory is the intersection of the frame information, the background information, clipping region information, and mask information, all as illustrated in FIG. 1.
As the versatility of raster printing devices increases, more sophisticated techniques for instructing how to form the raster image have been developed. That is, it is not ordinarily practical to transmit a full raster image to the printer. Rather a descriptive language such as page description language ("PDL") is used. A page description language is a series of commands that describes all characteristics of each element on every page of the document, such as text, graphics, scanned images. The PDL may also include information that describes document layout and sheet handling (collation, etc.). The host computer transmits page description language to the printing device, and the device interprets the page description language so as to render the raster image.
FIG. 2 is illustrative of this process. FIG. 2 depicts modules in a printing device which accept page description language at one end and create a bit map raster image at the other end. As shown in FIG. 2, a communication interface module 102 receives PDL commands and passes them to a PDL interpreter 104. The PDL interpreter directs PDL commands to a graphic layer 105, a font module 106, and a storage pool 107 as appropriate to the particular PDL command being processed by the interpreter. A rasterizer 109 accepts output from the graphic layer and the font module and the storage pool, and forms a raster image in a bit map raster memory. Specifically, the rasterizer 109 accepts an empty raster from bit map raster pool 110 and returns a filled raster to the raster pool. The filled raster is imaged by the printing device during which time a further empty raster (corresponding to a succeeding page) is being filled by rasterizer 109.
Printer commands like PDL commands are normally device-independent which means that the final document will look the same for the same PDL commands regardless of the printing device that receives the PDL commands. While this is advantageous in some respects, it has caused difficulty in that each different printer, because of its own unique characteristics, must be designed with its own unique PDL interpreter 104 which translates device-independent PDL commands into corresponding raster images.